export default {
  render (h) {
    // 在当前 router-view 的虚拟节点上，标记其深度
    this.$vnode.data.routerView = true

    let depth = 0  // 深度  默认：0
    let parent = this.$parent

    while (parent) {
      const vnodeData = parent.$vnode && parent.$vnode.data

      if (vnodeData && vnodeData.routerView) {
        /* 
          每次 render 时，都会在$vnode.data 上 添加 routerView 属性 
          此时 depth ++
        */
        depth++
      }
      parent = parent.$parent
    }

    /* 获取并渲染当前路由 path 对应的组件 */
    let component = null;
    const route = this.$router.matched[depth];

    // console.log(this.$router)
    if (route) {
      component = route.component;
    }
    return h(component);
  }
}